home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / ENGINEER / STRUCTUR / 1454B.ZIP / PC-RPT.BAS < prev    next >
BASIC Source File  |  1989-02-20  |  16KB  |  290 lines

  1. 10 REM----------------------------------------program pc-rpt, 1988
  2. 20 DEFINT I-N : DIM NND(128),NMB(256),NME(256)
  3. 21 DIM CN(3),NR(6),DD(6),DF(6),D$(6),FB(6),FE(6),F$(6),G$(6),H$(6),T(6),T$(6),ML(8),IW(8),LF!(8)
  4. 29 Q$=CHR$(34)
  5. 30 CLS : LOCATE 2,1 : PRINT "Enter DATA path and PROBLEM filename (MUST end with ";Q$;".";Q$;" )"
  6. 31 LOCATE 3,1 : PRINT "(e.g., C:\PCSTRAN\DATA\EXAMPLE1. )"
  7. 32 LOCATE 4,1 : INPUT "       ",FILE$
  8. 33 LOCATE 6,1 : PRINT "Enter path for PAGE.COM file (MUST end with a ";Q$;"\";Q$;" or ";Q$;":";Q$;" )"
  9. 34 LOCATE 7,1 : PRINT "(e.g., d:\ )"
  10. 35 LOCATE 8,1 : INPUT "       ",DRP$
  11. 36 LOCATE 10,1 : PRINT "Enter path (RAMDrive?) for WORK files (MUST end with a ";Q$;"\";Q$;" or ";Q$;":";Q$;" )"
  12. 37 LOCATE 11,1 : PRINT "(e.g., d:\ )"
  13. 38 LOCATE 12,1 : INPUT "       ",DRW$
  14. 39 PRINT : LINE INPUT "Name : ";LINE1$
  15. 40 PRINT : LINE INPUT "Company, City, State : ";LINE2$
  16. 41 LOCATE 18,1 : PRINT "If you get the error - Bad file number in 416 "
  17. 42 PRINT "invoke BASICA with /f:4 option - i.e.,  A>basica/f:4"
  18. 43 PRINT: LOCATE ,20 : PRINT "Reading RESults - Writing RePorT"
  19. 45 FILEP$ = FILE$ : IP=INSTR(FILEP$,":")
  20. 46 IF 0 < IP THEN FILEP$ = RIGHT$(FILEP$,LEN(FILEP$)-IP)
  21. 47 IP=INSTR(FILEP$,"\")
  22. 48 IF 0 < IP THEN FILEP$ = RIGHT$(FILEP$,LEN(FILEP$)-IP) : GOTO 47
  23. 50 FILE.RES$=FILE$+"RES"
  24. 60 OPEN FILE.RES$ FOR INPUT AS #1
  25. 70 FILE.RPT$=FILE$+"RPT"
  26. 80 OPEN FILE.RPT$ FOR OUTPUT AS #2
  27. 90 FCBADR=VARPTR(#1)
  28. 100 DAY=PEEK(FCBADR+21) AND 31 : SEC=PEEK(FCBADR+23) AND 31
  29. 110 YRS=(PEEK(FCBADR+22) AND 254)/2 +80 : HRS=(PEEK(FCBADR+24) AND 248)/8
  30. 120 MOS=(PEEK(FCBADR+22) AND 1)*8 + (PEEK(FCBADR+21) AND 224)/32
  31. 130 MIN=(PEEK(FCBADR+24) AND 7)*8 + (PEEK(FCBADR+23) AND 224)/32
  32. 140 DT$="/"+RIGHT$(STR$(YRS),2)
  33. 150 IF DAY<10 THEN DT$="/ "+RIGHT$(STR$(DAY),1)+DT$ ELSE DT$="/"+RIGHT$(STR$(DAY),2)+DT$
  34. 160 IF MOS<10 THEN DT$=" "+RIGHT$(STR$(MOS),1)+DT$ ELSE DT$=RIGHT$(STR$(MOS),2)+DT$
  35. 165 TM$="   "
  36. 170 'IF SEC<10 THEN TM$=":0"+RIGHT$(STR$(SEC),1) ELSE TM$=":"+RIGHT$(STR$(SEC),2)
  37. 180 IF MIN<10 THEN TM$=":0"+RIGHT$(STR$(MIN),1)+TM$ ELSE TM$=":"+RIGHT$(STR$(MIN),2)+TM$
  38. 190 IF HRS<10 THEN TM$=" "+RIGHT$(STR$(HRS),1)+TM$ ELSE TM$=RIGHT$(STR$(HRS),2)+TM$
  39. 195 PAGE=1
  40. 200 GOSUB 1290 : GOSUB 1360
  41. 210 INPUT #1,NE
  42. 220 FOR J=1 TO NE
  43. 230 INPUT #1,CM$,DE,YM,SM,AR,FIY,FIZ,TC : IF IPZ<1 THEN GOSUB 1290 : GOSUB 1360
  44. 235 IF LEN(CM$) < 9 THEN CM$=CM$+SPACE$(9-LEN(CM$))
  45. 240 PRINT #2,TAB(3);:PRINT #2,USING "\       \ ";CM$;:PRINT #2,USING "###.### ";DE;:PRINT #2,USING "##.##^^^^ ";YM;SM;
  46. 250 PRINT #2,USING "####.### ";AR;FIY;:PRINT #2,USING "######.### ";FIZ;:PRINT #2,USING "#####.###";TC
  47. 260 IPZ=IPZ-1 : NEXT
  48. 270 INPUT #1,NN : IF IPZ<7 THEN GOSUB 1290
  49. 280 GOSUB 1400
  50. 290 FOR J=1 TO NN
  51. 300 INPUT #1,ND,CN(1),CN(2),CN(3),NR(1),NR(2),NR(3),NR(4),NR(5),NR(6)
  52. 310 IF IPZ<1 THEN GOSUB 1290 : GOSUB 1400
  53. 320 PRINT #2,TAB(7);:PRINT #2,USING "###  ";ND;:PRINT #2,USING "#####.## ";CN(1);CN(2);CN(3);:PRINT #2,USING " #";NR(1);NR(2);NR(3);:PRINT #2,TAB(48);:PRINT #2,USING "# ";NR(4);NR(5);NR(6)
  54. 330 IPZ=IPZ-1 : NEXT J
  55. 340 INPUT #1,NM : IF IPZ<7 THEN GOSUB 1290
  56. 350 GOSUB 1450
  57. 360 FOR J=1 TO NM
  58. 370 INPUT #1,MB,ME,MBC,MEC,RA,MM$ : IF IPZ<1 THEN GOSUB 1290 : GOSUB 1450
  59. 375 IF LEN(MM$) < 9 THEN MM$=MM$+SPACE$(9-LEN(MM$))
  60. 380 PRINT #2,TAB(7);:PRINT #2,USING "###-";MB;:PRINT #2,USING "###    ";ME;:PRINT #2,USING "#    ";MBC;MEC;:PRINT #2,USING "###.##   ";RA;:PRINT #2,USING "\       \";MM$
  61. 390 IPZ=IPZ-1 : NEXT J
  62. 400 INPUT #1,IFD,IH,NREC : IF IPZ<7 THEN GOSUB 1290
  63. 410 GOSUB 1500
  64. 412 FILE.WMB$=DRW$+"erase-me.WMB"
  65. 413 OPEN "R",3,FILE.WMB$,72
  66. 414 FIELD #3,4 AS F$(1),4 AS F$(2),4 AS F$(3),4 AS F$(4),4 AS F$(5),4 AS F$(6),4 AS D$(1),4 AS D$(2),4 AS D$(3),4 AS D$(4),4 AS D$(5),4 AS D$(6),4 AS T$(1),4 AS T$(2),4 AS T$(3),4 AS T$(4),4 AS T$(5),4 AS T$(6)
  67. 415 FILE.WND$=DRW$+"erase.WND"
  68. 416 OPEN "R",4,FILE.WND$,48
  69. 417 FIELD #4,4 AS G$(1),4 AS G$(2),4 AS G$(3),4 AS G$(4),4 AS G$(5),4 AS G$(6),4 AS H$(1),4 AS H$(2),4 AS H$(3),4 AS H$(4),4 AS H$(5),4 AS H$(6)
  70. 420 INPUT #1,LCASEMAX
  71. 430 FOR LCASE=1 TO LCASEMAX : GOSUB 1320
  72. 440 INPUT #1,NL,ML(LCASE),IW(LCASE) : IF NL=0 GOTO 510
  73. 450 GOSUB 1550
  74. 460 FOR J=1 TO NL
  75. 470 INPUT #1,LN : IF IPZ<1 THEN GOSUB 1320 : GOSUB 1550
  76. 480 INPUT #1,DF(1),DF(2),DF(3),DF(4),DF(5),DF(6)
  77. 490 PRINT #2,TAB(6);:PRINT #2,USING "###   ";LN;:PRINT #2,USING "##.##^^^^ ";DF(1);DF(2);DF(3);DF(4);DF(5);:PRINT #2,USING "##.##^^^^";DF(6)
  78. 500 IPZ=IPZ-1 : NEXT J
  79. 510 IF IW(LCASE)=1 THEN WGHT$="INCLUDED!" ELSE WGHT$="IGNORED!"
  80. 520 IF IPZ<5 THEN GOSUB 1320
  81. 530 PRINT #2,CHR$(10)
  82. 540 PRINT #2,"   Members' weight ";WGHT$
  83. 550 PRINT #2,CHR$(10) : IPZ=IPZ-5
  84. 560 IF ML(LCASE)=0 GOTO 630
  85. 570 IF IPZ<6 THEN GOSUB 1320
  86. 580 GOSUB 1590
  87. 590 FOR J=1 TO ML(LCASE)
  88. 600 INPUT #1,JB,JE,DLB,DLE,DLTYPE$ : IF IPZ<1 THEN GOSUB 1320 : GOSUB 1590
  89. 610 PRINT #2,USING "### ";JB;JE;:PRINT #2,USING "##.##^^^^ ";DLB;DLE;:PRINT #2,TAB(36);:PRINT #2,USING "\\";DLTYPE$
  90. 620 IPZ=IPZ-1 : NEXT J
  91. 630 IF ML(LCASE)=0 AND IW(LCASE)<>1 GOTO 840
  92. 640 IF ML(LCASE)=0 GOTO 740
  93. 650 FOR J=1 TO ML(LCASE)
  94. 660 INPUT #1,JB,JE,DLB,DLE,DLTYPE$ : IF IPZ<5 THEN GOSUB 1320
  95. 670 PRINT #2," "
  96. 680 PRINT #2,USING "Member ###";JB;:PRINT #2,USING "-###";JE;:PRINT #2,USING " with the linearly distributed load ##.##^^^^";DLB;:PRINT #2,USING " to ##.##^^^^";DLE:PRINT #2,"acting in the ";DLTYPE$;" direction is replaced with equivalent node loads:"
  97. 690 INPUT #1,LN,DF(1),DF(2),DF(3),DF(4),DF(5),DF(6)
  98. 700 PRINT #2,TAB(6);:PRINT #2,USING "###   ";LN;:PRINT #2,USING "##.##^^^^ ";DF(1);DF(2);DF(3);DF(4);DF(5);:PRINT #2,USING "##.##^^^^";DF(6)
  99. 710 INPUT #1,LN,DF(1),DF(2),DF(3),DF(4),DF(5),DF(6)
  100. 720 PRINT #2,TAB(6);:PRINT #2,USING "###   ";LN;:PRINT #2,USING "##.##^^^^ ";DF(1);DF(2);DF(3);DF(4);DF(5);:PRINT #2,USING "##.##^^^^";DF(6)
  101. 730 IPZ=IPZ-5 : NEXT J
  102. 740 IF IW(LCASE)<>1 GOTO 840
  103. 750 FOR J=1 TO NM
  104. 760 INPUT #1,JB,JE,DLB,DLE,DLTYPE$ : IF IPZ<5 THEN GOSUB 1320
  105. 770 PRINT #2," "
  106. 780 PRINT #2,USING "Member ###";JB;:PRINT #2,USING "-###";JE;:PRINT #2,USING " with its weight load ##.##^^^^";DLB;:PRINT #2,USING " to ##.##^^^^";DLE:PRINT #2,"acting in the ";DLTYPE$;" direction is replaced with equivalent node loads:"
  107. 790 INPUT #1,LN,DF(1),DF(2),DF(3),DF(4),DF(5),DF(6)
  108. 800 PRINT #2,TAB(6);:PRINT #2,USING "###   ";LN;:PRINT #2,USING "##.##^^^^ ";DF(1);DF(2);DF(3);DF(4);DF(5);:PRINT #2,USING "##.##^^^^";DF(6)
  109. 810 INPUT #1,LN,DF(1),DF(2),DF(3),DF(4),DF(5),DF(6)
  110. 820 PRINT #2,TAB(6);:PRINT #2,USING "###   ";LN;:PRINT #2,USING "##.##^^^^ ";DF(1);DF(2);DF(3);DF(4);DF(5);:PRINT #2,USING "##.##^^^^";DF(6)
  111. 830 IPZ=IPZ-5 : NEXT J
  112. 840 FOR I=1 TO NM
  113. 850 INPUT #1,MB,ME,MBC,MEC,FLEN : IF IPZ<11 THEN GOSUB 1320
  114. 860 INPUT #1,MM$,YM,TC,FB(1),FE(1),FB(4),FE(4)
  115. 870 INPUT #1,AR,SM,FIY,FB(2),FE(2),FB(5),FE(5)
  116. 880 INPUT #1,RA,DE,FIZ,FB(3),FE(3),FB(6),FE(6)
  117. 890 INPUT #1,T(1),T(2),T(3),T(4),T(5),T(6)
  118. 892 NMB(I)=MB : NME(I)=ME
  119. 893 FOR IT=1 TO 6
  120. 894     LSET F$(IT)=MKS$(FB(IT)) : LSET D$(IT)=MKS$(FE(IT)) : LSET T$(IT)=MKS$(T(IT))
  121. 895 NEXT IT
  122. 896 PUT #3,(LCASE-1)*NM+I
  123. 900 PRINT #2," "
  124. 910 PRINT #2,USING "Member=###";MB;:PRINT #2,USING "-###";ME;:PRINT #2,TAB(43);"internal Forces     internal Moments"
  125. 920 PRINT #2,USING " Fixity  #";MBC;:PRINT #2,USING "   #";MEC;:PRINT #2,USING " Ln=#####.## ";FLEN;:PRINT #2," ^  Inertias";TAB(44);"beg       end       beg       end"
  126. 930 PRINT #2,USING "Type=\       \";MM$;
  127. 940 PRINT #2,USING " YM=##.##^^^^ X";YM;
  128. 950 PRINT #2,USING " #####.###";TC; : PRINT #2,USING " ##.##^^^^";FB(1);FE(1);FB(4);FE(4)
  129. 960 PRINT #2,USING "Area= ####.###";AR;
  130. 970 PRINT #2,USING " SM=##.##^^^^ Y";SM;
  131. 980 PRINT #2,USING "  ####.###";FIY; : PRINT #2,USING " ##.##^^^^";FB(2);FE(2);FB(5);FE(5)
  132. 990 PRINT #2,USING "Roll A= ###.##";RA;
  133. 1000 PRINT #2,USING " Den=###.###  Z";DE;
  134. 1010 PRINT #2,USING "######.###";FIZ; : PRINT #2,USING " ##.##^^^^";FB(3);FE(3);FB(6);FE(6)
  135. 1020 PRINT #2,TAB(43);"linear   distrib":PRINT #2,TAB(44);"beg       end"
  136. 1030 PRINT #2,TAB(29);"X";TAB(40);: PRINT #2,USING " ##.##^^^^";T(1);T(4)
  137. 1040 PRINT #2,TAB(29);"Y";TAB(40);: PRINT #2,USING " ##.##^^^^";T(2);T(5)
  138. 1050 PRINT #2,TAB(29);"Z";TAB(40);: PRINT #2,USING " ##.##^^^^";T(3);T(6)
  139. 1060 IPZ=IPZ-11 : NEXT I
  140. 1070 FOR I=1 TO NN
  141. 1080 INPUT #1,ND,CN(1),NR(1),NR(4),DF(1),DF(4),DD(1),DD(4) : IF IPZ<6 THEN GOSUB 1320
  142. 1090 INPUT #1,CN(2),NR(2),NR(5),DF(2),DF(5),DD(2),DD(5)
  143. 1100 INPUT #1,CN(3),NR(3),NR(6),DF(3),DF(6),DD(3),DD(6)
  144. 1102 NND(I)=ND
  145. 1103 FOR IT=1 TO 6
  146. 1104     LSET G$(IT)=MKS$(DF(IT)) : LSET H$(IT)=MKS$(DD(IT))
  147. 1105 NEXT IT
  148. 1106 PUT #4,(LCASE-1)*NN+I
  149. 1110 PRINT #2," "
  150. 1120 PRINT #2,USING " Node=### Coord   Movement  external  external  Displace- Rotations";ND
  151. 1130 PRINT #2,TAB(19);"lat rot   Forces    Moments   ments"
  152. 1140 PRINT #2,USING "    x  #####.##    ";CN(1);
  153. 1150 PRINT #2,USING "#   ";NR(1);NR(4);
  154. 1160 PRINT #2,USING "##.##^^^^ ";DF(1);DF(4);DD(1);DD(4)
  155. 1170 PRINT #2,USING "    y  #####.##    ";CN(2);
  156. 1180 PRINT #2,USING "#   ";NR(2);NR(5);
  157. 1190 PRINT #2,USING "##.##^^^^ ";DF(2);DF(5);DD(2);DD(5)
  158. 1200 PRINT #2,USING "    z  #####.##    ";CN(3);
  159. 1210 PRINT #2,USING "#   ";NR(3);NR(6);
  160. 1220 PRINT #2,USING "##.##^^^^ ";DF(3);DF(6);DD(3);DD(6)
  161. 1230 IPZ=IPZ-6 : NEXT I
  162. 1240 NEXT LCASE
  163. 1250 PRINT #2,CHR$(12)
  164. 1260 CLOSE #1
  165. 1270 GOTO 2000
  166. 1280 '=============================================================
  167. 1290 PRINT #2,CHR$(12) : PRINT #2,CHR$(10)
  168. 1295 PRINT #2,LINE1$;TAB(65);:PRINT #2,USING "Page ### of αßΓ";PAGE
  169. 1297 PRINT #2,LINE2$ : PAGE = PAGE+1
  170. 1300 PRINT #2,"File Name - "; : PRINT #2,USING "  \      \";FILEP$;DT$;TM$
  171. 1310 PRINT #2,CHR$(10) : IPZ=53 : RETURN
  172. 1315 '=============================================================
  173. 1320 PRINT #2,CHR$(12) : PRINT #2,CHR$(10)
  174. 1325 PRINT #2,LINE1$;TAB(65);:PRINT #2,USING "Page ### of αßΓ";PAGE
  175. 1327 PRINT #2,LINE2$ : PAGE = PAGE+1
  176. 1330 PRINT #2,"File Name - "; : PRINT #2,USING "  \      \";FILEP$;DT$;TM$;
  177. 1340 PRINT #2,USING "   Load Case #";LCASE
  178. 1350 PRINT #2,CHR$(10) : IPZ=53 : RETURN
  179. 1355 '=============================================================
  180. 1360 PRINT #2,CHR$(10)
  181. 1370 PRINT #2,"   Member   Density  Young's    Shear    Xsection   Iyy        Izz     Torsion"
  182. 1380 PRINT #2,"    Type             Modulus   Modulus    Area                         Constant"
  183. 1390 PRINT #2," " : IPZ=IPZ-5 : RETURN
  184. 1395 '=============================================================
  185. 1400 PRINT #2,CHR$(10)
  186. 1410 PRINT #2,"      Node             node            node Movement"
  187. 1420 PRINT #2,"     Number     ____Coordinates____   lateral rotation"
  188. 1430 PRINT #2,"                x        y        z    x y z   x y z"
  189. 1440 PRINT #2," " : IPZ=IPZ-6 : RETURN
  190. 1445 '=============================================================
  191. 1450 PRINT #2,CHR$(10)
  192. 1460 PRINT #2,"      Member   end Fixity  member    member"
  193. 1470 PRINT #2,"       nodes     factor     Roll      Type"
  194. 1480 PRINT #2,"      beg-end   beg  end   Angle"
  195. 1490 PRINT #2," " : IPZ=IPZ-6 : RETURN
  196. 1495 '=============================================================
  197. 1500 PRINT #2,CHR$(10)
  198. 1510 PRINT #2,USING " Number of Degrees of Freedom =   ###";IFD
  199. 1520 PRINT #2,USING "                Semibandwidth =   ###";IH
  200. 1530 PRINT #2,USING "            Number of Records = #####";NREC
  201. 1540 PRINT #2,CHR$(10) : IPZ=IPZ-7 : RETURN
  202. 1545 '=============================================================
  203. 1550 PRINT #2,CHR$(10)
  204. 1560 PRINT #2,"     Node      ___applied Forces____         ___applied Moments___"
  205. 1570 PRINT #2,"    Number     x         y         z         x         y         z"
  206. 1580 PRINT #2," " : IPZ=IPZ-5 : RETURN
  207. 1585 '=============================================================
  208. 1590 PRINT #2,CHR$(10)
  209. 1600 PRINT #2,"Member        Linearly          XA,YA,ZA  A = Actual length"
  210. 1610 PRINT #2," Nodes    Distributed Load   or XP,YP,ZP  P = Projected length"
  211. 1620 PRINT #2,"beg-end    beg   -   end     or XL,YL,ZL  L = Local coordinates"
  212. 1630 PRINT #2," " : IPZ=IPZ-6 : RETURN
  213. 1635 '=============================================================
  214. 2000 CLS : PRINT " This section of PC-RPT.BAS will compute "
  215. 2010       PRINT " Load Factor Design Combinations for use "
  216. 2020       PRINT " in LRFD formats. Enter all zeroes to END" : PRINT
  217. 2030 SUM = 0 : FOR LCASE = 1 TO LCASEMAX
  218. 2040 PRINT USING " load factor on Load Case # ";LCASE; : INPUT "= ",LF!(LCASE)
  219. 2050 SUM = SUM + LF!(LCASE) : NEXT LCASE
  220. 2060 IF SUM=0 GOTO 2580 ELSE GOSUB 2620
  221. 2070 FOR I=1 TO NM
  222. 2080 IF IPZ<11 THEN GOSUB 2620
  223. 2090 MB=NMB(I) : ME=NME(I)
  224. 2100 FOR IT=1 TO 6 : FB(IT)=0 : FE(IT)=0 : T(IT)=0 : NEXT IT
  225. 2110 FOR LCASE=1 TO LCASEMAX : IF LF!(LCASE)=0 GOTO 2160
  226. 2120 GET #3,(LCASE-1)*NM+I
  227. 2130 FOR IT=1 TO 6
  228. 2140     FB(IT)=FB(IT)+LF!(LCASE)*CVS(F$(IT)) : FE(IT)=FE(IT)+LF!(LCASE)*CVS(D$(IT)) : T(IT)=T(IT)+LF!(LCASE)*CVS(T$(IT))
  229. 2150 NEXT IT
  230. 2160 NEXT LCASE
  231. 2170 PRINT #2," "
  232. 2180 PRINT #2,USING "Member=###";MB;:PRINT #2,USING "-###";ME;:PRINT #2,TAB(43);"internal Forces     internal Moments"
  233. 2190 PRINT #2,      "          ";    :PRINT #2,      "    ";    :PRINT #2,      "             ";     :PRINT #2," ^          ";TAB(44);"beg       end       beg       end"
  234. 2200 PRINT #2,      "              ";
  235. 2210 PRINT #2,      "              X";
  236. 2220 PRINT #2,      "          ";    : PRINT #2,USING " ##.##^^^^";FB(1);FE(1);FB(4);FE(4)
  237. 2230 PRINT #2,      "              ";
  238. 2240 PRINT #2,      "              Y";
  239. 2250 PRINT #2,      "          ";     : PRINT #2,USING " ##.##^^^^";FB(2);FE(2);FB(5);FE(5)
  240. 2260 PRINT #2,      "              ";
  241. 2270 PRINT #2,      "              Z";
  242. 2280 PRINT #2,      "          ";     : PRINT #2,USING " ##.##^^^^";FB(3);FE(3);FB(6);FE(6)
  243. 2290 PRINT #2,TAB(43);"linear   distrib":PRINT #2,TAB(44);"beg       end"
  244. 2300 PRINT #2,TAB(29);"X";TAB(40);: PRINT #2,USING " ##.##^^^^";T(1);T(4)
  245. 2310 PRINT #2,TAB(29);"Y";TAB(40);: PRINT #2,USING " ##.##^^^^";T(2);T(5)
  246. 2320 PRINT #2,TAB(29);"Z";TAB(40);: PRINT #2,USING " ##.##^^^^";T(3);T(6)
  247. 2330 IPZ=IPZ-11 : NEXT I
  248. 2340 FOR I=1 TO NN
  249. 2350 IF IPZ<6 THEN GOSUB 2620
  250. 2360 ND=NND(I)
  251. 2370 FOR IT=1 TO 6 : DF(IT)=0 : DD(IT)=0 : NEXT IT
  252. 2380 FOR LCASE=1 TO LCASEMAX : IF LF!(LCASE)=0 GOTO 2430
  253. 2390 GET #4,(LCASE-1)*NN+I
  254. 2400 FOR IT=1 TO 6
  255. 2410     DF(IT)=DF(IT)+LF!(LCASE)*CVS(G$(IT)) : DD(IT)=DD(IT)+LF!(LCASE)*CVS(H$(IT))
  256. 2420 NEXT IT
  257. 2430 NEXT LCASE
  258. 2440 PRINT #2," "
  259. 2450 PRINT #2,USING " Node=###                   external  external  Displace- Rotations";ND
  260. 2460 PRINT #2,TAB(19);"          Forces    Moments   ments"
  261. 2470 PRINT #2,      "    x              ";
  262. 2480 PRINT #2,      "        ";
  263. 2490 PRINT #2,USING "##.##^^^^ ";DF(1);DF(4);DD(1);DD(4)
  264. 2500 PRINT #2,      "    y              ";
  265. 2510 PRINT #2,      "        ";
  266. 2520 PRINT #2,USING "##.##^^^^ ";DF(2);DF(5);DD(2);DD(5)
  267. 2530 PRINT #2,      "    z              ";
  268. 2540 PRINT #2,      "        ";
  269. 2550 PRINT #2,USING "##.##^^^^ ";DF(3);DF(6);DD(3);DD(6)
  270. 2560 IPZ=IPZ-6 : NEXT I
  271. 2570 GOTO 2000
  272. 2580 PRINT #2,CHR$(12) : CLOSE #2
  273. 2590 CLOSE #3 : KILL FILE.WMB$ : CLOSE #4 : KILL FILE.WND$
  274. 2595 PAGE$=STR$(PAGE-1) 
  275. 2596 IF LEN(PAGE$) > 3 THEN PAGE$=RIGHT$(PAGE$,3)
  276. 2597 IF LEN(PAGE$) < 3 THEN PAGE$=SPACE$(3-LEN(PAGE$))+PAGE$
  277. 2598 PAGE$ = CHR$(32)+CHR$(34)+PAGE$+CHR$(34)
  278. 2600 SHELL DRP$+"PAGE "+FILE.RPT$+PAGE$
  279. 2610 CLS : PRINT "PC-RPT has finished." : SYSTEM
  280. 2615 '=============================================================
  281. 2620 PRINT #2,CHR$(12) : PRINT #2,CHR$(10)
  282. 2625 PRINT #2,LINE1$;TAB(65);:PRINT #2,USING "Page ### of αßΓ";PAGE
  283. 2627 PRINT #2,LINE2$ : PAGE = PAGE+1
  284. 2630 PRINT #2,"File Name - "; : PRINT #2,USING "  \      \";FILEP$;DT$;TM$;
  285. 2640 PRINT #2,      "   Load Combination ";
  286. 2650 FOR LCASE=1 TO LCASEMAX : IF LF!(LCASE)=0 GOTO 2670
  287. 2660 PRINT #2,USING "+#.##";LF!(LCASE);:PRINT #2,USING "(#) ";LCASE;
  288. 2670 NEXT LCASE : PRINT #2," "
  289. 2680 PRINT #2,CHR$(10) : IPZ=53 : RETURN 
  290.